Model-based diagnosis (MBD) involves model-based testing in which test cases are derived in whole or in part from a model that describes some, usually functional, aspects of the system under test. The model is usually an abstract, partial representation of the system under test-desired behavior. The test cases derived from this model are functional tests on the same level of abstraction as the model.
Model-based diagnosis is diagnostic and system-directed. Particularly, it starts with the observed misbehavior and works back toward the underlying components that may be broken.
Model-based diagnosis may be employed in a variety of arenas, including detecting faulty system behavior, identifying faulty components, repairing of the system, and reconfiguring of the system. Other areas to which MBD may be applied, include debugging cognitive models, designing experiments to build improved models of gene pathways, troubleshooting power grids, troubleshooting manufacturing lines, identifying faults in spacecraft, airplanes, and debugging programs, among other uses.
However, an issue related to the diagnosis of systems using MBD as well as other testing approaches, such as “ad hoc” hand-coded rules, machine learning of patterns, D-algorithm searching, and analytical redundancy relationships, among others, is the inability to accurately diagnose intermittent faults.
Experience with diagnosis of automotive systems and reprographic machines shows that intermittent faults are among the most challenging kinds of faults to isolate. Such systems raise many modeling complexities. The approach to isolating these intermittent faults is presented in the context of logic systems. However, it is to be appreciated the present concepts may be employed in many other environments.
Presently, the main approach used to attempt to find intermittent faults is to stress the system under test, in an attempt to convert the intermittent faults to persistent failures, and then diagnose those failures. However, these approaches tend to lead to increased system failures of the overall system.
Therefore, it is desirable to employ a system and method which finds or isolates intermittent faults but does not stress the system under test, and thereby avoid increased system failures.